/**
 * 将对象转换为 URL 参数字符串
 * @param obj 要转换的对象
 * @returns 转换后的参数字符串，如：a=1&b=2
 */
export const objectToParams = (obj: Record<string, any>): string => {
  if (!obj) return ''

  return Object.entries(obj)
    .filter(([_, value]) => value !== null && value !== undefined) // 过滤空值
    .map(([key, value]) => {
      // 处理数组
      if (Array.isArray(value)) {
        return `${encodeURIComponent(key)}=${value.map(item => encodeURIComponent(item)).join(',')}`
      }
      // 处理对象
      if (typeof value === 'object') {
        return `${encodeURIComponent(key)}=${encodeURIComponent(JSON.stringify(value))}`
      }
      // 处理基本类型
      return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`
    })
    .join('&')
}
